﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.creditos.be.liclSolcred;
using com.creditos.be.liclUtil;
namespace liclSolcred.Views
{
    public class FormsManEvaluacionProspectoPresenter : liclSolcred.Views.Viewer<IFormsManEvaluacionProspectoView>
    {
        liclSolcredController oController = new liclSolcredController();
        public FormsManEvaluacionProspectoPresenter()
        {
        
        }

        public void Load(ProductoBE oProductoBE)
        {
            ListarProductos(oProductoBE);
            ListarTipoDocumento(1);
            ListarTipoIntegrante(973);

        }

        public void ListarProductos(ProductoBE oProductoBE)
        {
            try
            {
                List<ProductoBE> lstProductos = new List<ProductoBE>();
                lstProductos = oController.ListarProductos(oProductoBE);
                View.CargarProductos(lstProductos);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarTipoDocumento(int intCodigoTabla)
        {
            try
            {
                List<ParametroBE> lstParametro = new List<ParametroBE>();
                lstParametro = oController.ListarParametros(new ParametroBE { CodigoTabla = intCodigoTabla });
                View.CargarParametros(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarCliente(ClienteBE oCliente, int tipo)
        {
            try
            {
                List<ClienteBE> lstParametro = new List<ClienteBE>();
                lstParametro = oController.BuscarCliente(oCliente);
                if (tipo == 0)
                    View.CargarCliente(lstParametro);
                else
                    View.CargarNegocio(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarConyuge(ClienteBE oCliente, int tipo)
        {
            try
            {
                List<ClienteBE> lstParametro = new List<ClienteBE>();
                lstParametro = oController.BuscarCliente(oCliente);
                if (tipo == 0)
                    View.CargarConyuge(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarTipoIntegrante(int intCodigoTabla)
        {
            try
            {
                List<ParametroBE> lstParametro = new List<ParametroBE>();
                lstParametro = oController.ListarParametros(new ParametroBE { CodigoTabla = intCodigoTabla });
                View.CargarParametros(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarIntegrante1(ClienteBE oCliente, int tipo)
        {
            try
            {
                List<ClienteBE> lstParametro = new List<ClienteBE>();
                lstParametro = oController.BuscarCliente(oCliente);
                if (tipo == 0)
                    View.CargarIntegrante1(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarIntegrante2(ClienteBE oCliente, int tipo)
        {
            try
            {
                List<ClienteBE> lstParametro = new List<ClienteBE>();
                lstParametro = oController.BuscarCliente(oCliente);
                if (tipo == 0)
                    View.CargarIntegrante2(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarIntegrante3(ClienteBE oCliente, int tipo)
        {
            try
            {
                List<ClienteBE> lstParametro = new List<ClienteBE>();
                lstParametro = oController.BuscarCliente(oCliente);
                if (tipo == 0)
                    View.CargarIntegrante3(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public List<ProspectoBE> ActualizarProspecto(ProspectoBE oProspecto) 
        {
            List<ProspectoBE> lstProspecto = new List<ProspectoBE>();
            try
            {                
             lstProspecto = oController.ActualizarProspecto(oProspecto);
             View.CargarProspecto(lstProspecto);
                
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
            return lstProspecto;
        }

    }
}
